 ',
            'weglot_dialog_upsell_title' => '
',
            'weglot_dialog_upsell_title' => ' ',
            'weglot_install_url' => add_query_arg(array('action' => 'install_weglot', '_wpnonce' => wp_create_nonce('install_weglot')), admin_url('admin.php')),
            'nonce_dismiss_survey' => wp_create_nonce('ucp_dismiss_survey'),
            'nonce_submit_survey' => wp_create_nonce('ucp_submit_survey'),
            'nonce_submit_support_message' => wp_create_nonce('ucp_submit_support_message'),
            'deactivate_confirmation' => esc_attr__('Are you sure you want to deactivate UnderConstruction plugin?' . "\n" . 'If you are removing it because of a problem please contact our support. They will be more than happy to help.', 'under-construction-page')
        );
        if (self::is_plugin_page()) {
            remove_editor_styles();
            wp_enqueue_style('wp-jquery-ui-dialog');
            wp_enqueue_style('ucp-select2', UCP_PLUGIN_URL . 'css/select2.min.css', array(), self::$version);
            wp_enqueue_style('ucp-admin', UCP_PLUGIN_URL . 'css/ucp-admin.css', array(), self::$version);
            wp_enqueue_script('jquery-ui-tabs');
            wp_enqueue_script('jquery-ui-dialog');
            wp_enqueue_script('ucp-jquery-plugins', UCP_PLUGIN_URL . 'js/ucp-jquery-plugins.js', array('jquery'), self::$version, true);
            wp_enqueue_script('ucp-select2', UCP_PLUGIN_URL . 'js/select2.min.js', array(), self::$version, true);
            wp_enqueue_script('ucp-admin', UCP_PLUGIN_URL . 'js/ucp-admin.js', array('jquery'), self::$version, true);
            wp_localize_script('ucp-admin', 'ucp', $js_localize);
            // fix for agressive plugins
            wp_dequeue_style('uiStyleSheet');
            wp_dequeue_style('wpcufpnAdmin');
            wp_dequeue_style('unifStyleSheet');
            wp_dequeue_style('wpcufpn_codemirror');
            wp_dequeue_style('wpcufpn_codemirrorTheme');
            wp_dequeue_style('collapse-admin-css');
            wp_dequeue_style('jquery-ui-css');
            wp_dequeue_style('tribe-common-admin');
            wp_dequeue_style('file-manager__jquery-ui-css');
            wp_dequeue_style('file-manager__jquery-ui-css-theme');
            wp_dequeue_style('wpmegmaps-jqueryui');
            wp_dequeue_style('wp-botwatch-css');
            wp_dequeue_style('uap_main_admin_style');
            wp_dequeue_style('uap_font_awesome');
            wp_dequeue_style('uap_jquery-ui.min.css');
        }
        if ($pointers) {
            $pointers['_nonce_dismiss_pointer'] = wp_create_nonce('ucp_dismiss_pointer');
            wp_enqueue_script('wp-pointer');
            wp_enqueue_script('ucp-pointers', plugins_url('js/ucp-admin-pointers.js', __FILE__), array('jquery'), self::$version, true);
            wp_enqueue_style('wp-pointer');
            wp_localize_script('wp-pointer', 'ucp_pointers', $pointers);
            wp_localize_script('wp-pointer', 'ucp', $js_localize);
        }
    } // admin_enqueue_scripts
    // permanently dismiss a pointer
    static function dismiss_pointer_ajax()
    {
        check_ajax_referer('ucp_dismiss_pointer');
        $pointers = get_option(UCP_POINTERS_KEY);
        $pointer = trim(sanitize_text_field($_POST['pointer']));
        if (empty($pointers) || empty($pointers[$pointer])) {
            wp_send_json_error();
        }
        unset($pointers[$pointer]);
        update_option(UCP_POINTERS_KEY, $pointers);
        wp_send_json_success();
    } // dismiss_pointer_ajax
    // permanently dismiss a survey
    static function dismiss_survey_ajax()
    {
        check_ajax_referer('ucp_dismiss_survey');
        $surveys = get_option(UCP_SURVEYS_KEY, array());
        $survey = trim(sanitize_text_field($_POST['survey']));
        $surveys[$survey] = -1;
        update_option(UCP_SURVEYS_KEY, $surveys);
        wp_send_json_success();
    } // dismiss_survey_ajax
    // send support message
    static function submit_support_message_ajax()
    {
        check_ajax_referer('ucp_submit_support_message');
        $options = self::get_options();
        $email = sanitize_text_field($_POST['support_email']);
        if (!is_email($email)) {
            wp_send_json_error(esc_attr__('Please double-check your email address.', 'under-construction-page'));
        }
        $message = stripslashes(sanitize_text_field($_POST['support_message']));
        $subject = 'UCP Support';
        $body = $message;
        if (!empty($_POST['support_info'])) {
            $theme = wp_get_theme();
            $body .= "\r\n\r\nSite details:\r\n";
            $body .= '  WordPress version: ' . get_bloginfo('version') . "\r\n";
            $body .= '  UCP version: ' . self::$version . "\r\n";
            $body .= '  PHP version: ' . PHP_VERSION . "\r\n";
            $body .= '  Site URL: ' . get_bloginfo('url') . "\r\n";
            $body .= '  WordPress URL: ' . get_bloginfo('wpurl') . "\r\n";
            $body .= '  Theme: ' . $theme->get('Name') . ' v' . $theme->get('Version') . "\r\n";
            $body .= '  Options: ' . "\r\n" . serialize($options) . "\r\n";
        }
        $headers = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $email;
        if (true === wp_mail('ucp@webfactoryltd.com', $subject, $body, $headers)) {
            wp_send_json_success();
        } else {
            wp_send_json_error(esc_attr__('Something is not right with your wp_mail() function. Please email as at ucp@webfactoryltd.com.', 'under-construction-page'));
        }
    } // submit_support_message
    // submit survey
    static function submit_survey_ajax()
    {
        check_ajax_referer('ucp_submit_survey');
        $options = self::get_options();
        $meta = self::get_meta();
        $surveys = get_option(UCP_SURVEYS_KEY);
        $vars = wp_parse_args($_POST, array('survey' => '', 'answers' => '', 'custom_answer' => $options['theme'], 'emailme' => ''));
        $vars['answers'] = trim($vars['answers'], ',');
        $vars['custom_answer'] = trim(strip_tags($vars['custom_answer']));
        $vars['custom_answer'] .= '; ' . date('Y-m-d H:i:s', $meta['first_install']);
        $vars['custom_answer'] = trim($vars['custom_answer'], ' ;');
        if (empty($vars['survey']) || empty($vars['answers'])) {
            wp_send_json_error();
        }
        $request_params = array('sslverify' => false, 'timeout' => 15, 'redirection' => 2);
        $request_args = array(
            'action' => 'submit_survey',
            'survey' => $vars['survey'],
            'email' => $vars['emailme'],
            'answers' => $vars['answers'],
            'custom_answer' => $vars['custom_answer'],
            'first_version' => $meta['first_version'],
            'version' => UCP::$version,
            'codebase' => 'free',
            'site' => get_home_url()
        );
        $url = add_query_arg($request_args, self::$licensing_servers[0]);
        $response = wp_remote_get(esc_url_raw($url), $request_params);
        if (is_wp_error($response) || !wp_remote_retrieve_body($response)) {
            $url = add_query_arg($request_args, self::$licensing_servers[1]);
            $response = wp_remote_get(esc_url_raw($url), $request_params);
        }
        $surveys[$vars['survey']] = time();
        update_option(UCP_SURVEYS_KEY, $surveys);
        wp_send_json_success();
    } // submit_survey_ajax
    // encode email for frontend use
    static function encode_email($email)
    {
        $len = strlen($email);
        $out = '';
        for ($i = 0; $i < $len; $i++) {
            $out .= '' . ord($email[$i]) . ';';
        }
        return $out;
    } // encode_email
    // parse shortcode alike variables
    static function parse_vars($string)
    {
        $org_string = $string;
        $vars = array(
            'site-title' => get_bloginfo('name'),
            'site-tagline' => get_bloginfo('description'),
            'site-description' => get_bloginfo('description'),
            'site-url' => trailingslashit(get_home_url()),
            'wp-url' => trailingslashit(get_site_url()),
            'site-login-url' => get_site_url() . '/wp-login.php'
        );
        foreach ($vars as $var_name => $var_value) {
            $var_name = '[' . $var_name . ']';
            $string = str_ireplace($var_name, $var_value, $string);
        }
        $string = apply_filters('ucp_parse_vars', $string, $org_string, $vars);
        return $string;
    } // parse_vars
    // generate HTML from social icons
    static function generate_social_icons($options, $template_id)
    {
        $out = '';
        if (!empty($options['social_facebook'])) {
            $out .= '';
        }
        if (!empty($options['social_twitter'])) {
            $out .= '';
        }
        if (!empty($options['social_linkedin'])) {
            $out .= '';
        }
        if (!empty($options['social_youtube'])) {
            $out .= '';
        }
        if (!empty($options['social_vimeo'])) {
            $out .= '';
        }
        if (!empty($options['social_pinterest'])) {
            $out .= '';
        }
        if (!empty($options['social_dribbble'])) {
            $out .= '';
        }
        if (!empty($options['social_behance'])) {
            $out .= '';
        }
        if (!empty($options['social_instagram'])) {
            $out .= '';
        }
        if (!empty($options['social_tumblr'])) {
            $out .= '';
        }
        if (!empty($options['social_vk'])) {
            $out .= '';
        }
        if (!empty($options['social_skype'])) {
            $out .= '';
        }
        if (!empty($options['social_whatsapp'])) {
            $out .= '';
        }
        if (!empty($options['social_telegram'])) {
            $out .= '';
        }
        if (!empty($options['social_email'])) {
            $out .= '';
        }
        if (!empty($options['social_phone'])) {
            $out .= '';
        }
        return $out;
    } // generate_social_icons
    // shortcode for inserting things in header
    static function generate_head($options, $template_id)
    {
        $out = '';
        $out .= '' . "\n";
        $out .= '' . "\n";
        $out .= '' . "\n";
        $out .= '' . "\n";
        $out .= '';
        if (self::is_weglot_setup()) {
            $out .= '';
            $out .= '';
        }
        if (!empty($options['ga_tracking_id'])) {
            $out .= "
      ";
        }
        if (!empty($options['custom_css'])) {
            $out .= "\n" . '';
        }
        $out = apply_filters('ucp_head', $out, $options, $template_id);
        return trim($out);
    } // generate_head
    // shortcode for inserting things in footer
    static function generate_footer($options, $template_id)
    {
        $out = '';
        if ($options['linkback'] == '1') {
            $tmp = md5(get_site_url());
            if ($tmp[0] < '4') {
                $out .= '
',
            'weglot_install_url' => add_query_arg(array('action' => 'install_weglot', '_wpnonce' => wp_create_nonce('install_weglot')), admin_url('admin.php')),
            'nonce_dismiss_survey' => wp_create_nonce('ucp_dismiss_survey'),
            'nonce_submit_survey' => wp_create_nonce('ucp_submit_survey'),
            'nonce_submit_support_message' => wp_create_nonce('ucp_submit_support_message'),
            'deactivate_confirmation' => esc_attr__('Are you sure you want to deactivate UnderConstruction plugin?' . "\n" . 'If you are removing it because of a problem please contact our support. They will be more than happy to help.', 'under-construction-page')
        );
        if (self::is_plugin_page()) {
            remove_editor_styles();
            wp_enqueue_style('wp-jquery-ui-dialog');
            wp_enqueue_style('ucp-select2', UCP_PLUGIN_URL . 'css/select2.min.css', array(), self::$version);
            wp_enqueue_style('ucp-admin', UCP_PLUGIN_URL . 'css/ucp-admin.css', array(), self::$version);
            wp_enqueue_script('jquery-ui-tabs');
            wp_enqueue_script('jquery-ui-dialog');
            wp_enqueue_script('ucp-jquery-plugins', UCP_PLUGIN_URL . 'js/ucp-jquery-plugins.js', array('jquery'), self::$version, true);
            wp_enqueue_script('ucp-select2', UCP_PLUGIN_URL . 'js/select2.min.js', array(), self::$version, true);
            wp_enqueue_script('ucp-admin', UCP_PLUGIN_URL . 'js/ucp-admin.js', array('jquery'), self::$version, true);
            wp_localize_script('ucp-admin', 'ucp', $js_localize);
            // fix for agressive plugins
            wp_dequeue_style('uiStyleSheet');
            wp_dequeue_style('wpcufpnAdmin');
            wp_dequeue_style('unifStyleSheet');
            wp_dequeue_style('wpcufpn_codemirror');
            wp_dequeue_style('wpcufpn_codemirrorTheme');
            wp_dequeue_style('collapse-admin-css');
            wp_dequeue_style('jquery-ui-css');
            wp_dequeue_style('tribe-common-admin');
            wp_dequeue_style('file-manager__jquery-ui-css');
            wp_dequeue_style('file-manager__jquery-ui-css-theme');
            wp_dequeue_style('wpmegmaps-jqueryui');
            wp_dequeue_style('wp-botwatch-css');
            wp_dequeue_style('uap_main_admin_style');
            wp_dequeue_style('uap_font_awesome');
            wp_dequeue_style('uap_jquery-ui.min.css');
        }
        if ($pointers) {
            $pointers['_nonce_dismiss_pointer'] = wp_create_nonce('ucp_dismiss_pointer');
            wp_enqueue_script('wp-pointer');
            wp_enqueue_script('ucp-pointers', plugins_url('js/ucp-admin-pointers.js', __FILE__), array('jquery'), self::$version, true);
            wp_enqueue_style('wp-pointer');
            wp_localize_script('wp-pointer', 'ucp_pointers', $pointers);
            wp_localize_script('wp-pointer', 'ucp', $js_localize);
        }
    } // admin_enqueue_scripts
    // permanently dismiss a pointer
    static function dismiss_pointer_ajax()
    {
        check_ajax_referer('ucp_dismiss_pointer');
        $pointers = get_option(UCP_POINTERS_KEY);
        $pointer = trim(sanitize_text_field($_POST['pointer']));
        if (empty($pointers) || empty($pointers[$pointer])) {
            wp_send_json_error();
        }
        unset($pointers[$pointer]);
        update_option(UCP_POINTERS_KEY, $pointers);
        wp_send_json_success();
    } // dismiss_pointer_ajax
    // permanently dismiss a survey
    static function dismiss_survey_ajax()
    {
        check_ajax_referer('ucp_dismiss_survey');
        $surveys = get_option(UCP_SURVEYS_KEY, array());
        $survey = trim(sanitize_text_field($_POST['survey']));
        $surveys[$survey] = -1;
        update_option(UCP_SURVEYS_KEY, $surveys);
        wp_send_json_success();
    } // dismiss_survey_ajax
    // send support message
    static function submit_support_message_ajax()
    {
        check_ajax_referer('ucp_submit_support_message');
        $options = self::get_options();
        $email = sanitize_text_field($_POST['support_email']);
        if (!is_email($email)) {
            wp_send_json_error(esc_attr__('Please double-check your email address.', 'under-construction-page'));
        }
        $message = stripslashes(sanitize_text_field($_POST['support_message']));
        $subject = 'UCP Support';
        $body = $message;
        if (!empty($_POST['support_info'])) {
            $theme = wp_get_theme();
            $body .= "\r\n\r\nSite details:\r\n";
            $body .= '  WordPress version: ' . get_bloginfo('version') . "\r\n";
            $body .= '  UCP version: ' . self::$version . "\r\n";
            $body .= '  PHP version: ' . PHP_VERSION . "\r\n";
            $body .= '  Site URL: ' . get_bloginfo('url') . "\r\n";
            $body .= '  WordPress URL: ' . get_bloginfo('wpurl') . "\r\n";
            $body .= '  Theme: ' . $theme->get('Name') . ' v' . $theme->get('Version') . "\r\n";
            $body .= '  Options: ' . "\r\n" . serialize($options) . "\r\n";
        }
        $headers = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $email;
        if (true === wp_mail('ucp@webfactoryltd.com', $subject, $body, $headers)) {
            wp_send_json_success();
        } else {
            wp_send_json_error(esc_attr__('Something is not right with your wp_mail() function. Please email as at ucp@webfactoryltd.com.', 'under-construction-page'));
        }
    } // submit_support_message
    // submit survey
    static function submit_survey_ajax()
    {
        check_ajax_referer('ucp_submit_survey');
        $options = self::get_options();
        $meta = self::get_meta();
        $surveys = get_option(UCP_SURVEYS_KEY);
        $vars = wp_parse_args($_POST, array('survey' => '', 'answers' => '', 'custom_answer' => $options['theme'], 'emailme' => ''));
        $vars['answers'] = trim($vars['answers'], ',');
        $vars['custom_answer'] = trim(strip_tags($vars['custom_answer']));
        $vars['custom_answer'] .= '; ' . date('Y-m-d H:i:s', $meta['first_install']);
        $vars['custom_answer'] = trim($vars['custom_answer'], ' ;');
        if (empty($vars['survey']) || empty($vars['answers'])) {
            wp_send_json_error();
        }
        $request_params = array('sslverify' => false, 'timeout' => 15, 'redirection' => 2);
        $request_args = array(
            'action' => 'submit_survey',
            'survey' => $vars['survey'],
            'email' => $vars['emailme'],
            'answers' => $vars['answers'],
            'custom_answer' => $vars['custom_answer'],
            'first_version' => $meta['first_version'],
            'version' => UCP::$version,
            'codebase' => 'free',
            'site' => get_home_url()
        );
        $url = add_query_arg($request_args, self::$licensing_servers[0]);
        $response = wp_remote_get(esc_url_raw($url), $request_params);
        if (is_wp_error($response) || !wp_remote_retrieve_body($response)) {
            $url = add_query_arg($request_args, self::$licensing_servers[1]);
            $response = wp_remote_get(esc_url_raw($url), $request_params);
        }
        $surveys[$vars['survey']] = time();
        update_option(UCP_SURVEYS_KEY, $surveys);
        wp_send_json_success();
    } // submit_survey_ajax
    // encode email for frontend use
    static function encode_email($email)
    {
        $len = strlen($email);
        $out = '';
        for ($i = 0; $i < $len; $i++) {
            $out .= '' . ord($email[$i]) . ';';
        }
        return $out;
    } // encode_email
    // parse shortcode alike variables
    static function parse_vars($string)
    {
        $org_string = $string;
        $vars = array(
            'site-title' => get_bloginfo('name'),
            'site-tagline' => get_bloginfo('description'),
            'site-description' => get_bloginfo('description'),
            'site-url' => trailingslashit(get_home_url()),
            'wp-url' => trailingslashit(get_site_url()),
            'site-login-url' => get_site_url() . '/wp-login.php'
        );
        foreach ($vars as $var_name => $var_value) {
            $var_name = '[' . $var_name . ']';
            $string = str_ireplace($var_name, $var_value, $string);
        }
        $string = apply_filters('ucp_parse_vars', $string, $org_string, $vars);
        return $string;
    } // parse_vars
    // generate HTML from social icons
    static function generate_social_icons($options, $template_id)
    {
        $out = '';
        if (!empty($options['social_facebook'])) {
            $out .= '';
        }
        if (!empty($options['social_twitter'])) {
            $out .= '';
        }
        if (!empty($options['social_linkedin'])) {
            $out .= '';
        }
        if (!empty($options['social_youtube'])) {
            $out .= '';
        }
        if (!empty($options['social_vimeo'])) {
            $out .= '';
        }
        if (!empty($options['social_pinterest'])) {
            $out .= '';
        }
        if (!empty($options['social_dribbble'])) {
            $out .= '';
        }
        if (!empty($options['social_behance'])) {
            $out .= '';
        }
        if (!empty($options['social_instagram'])) {
            $out .= '';
        }
        if (!empty($options['social_tumblr'])) {
            $out .= '';
        }
        if (!empty($options['social_vk'])) {
            $out .= '';
        }
        if (!empty($options['social_skype'])) {
            $out .= '';
        }
        if (!empty($options['social_whatsapp'])) {
            $out .= '';
        }
        if (!empty($options['social_telegram'])) {
            $out .= '';
        }
        if (!empty($options['social_email'])) {
            $out .= '';
        }
        if (!empty($options['social_phone'])) {
            $out .= '';
        }
        return $out;
    } // generate_social_icons
    // shortcode for inserting things in header
    static function generate_head($options, $template_id)
    {
        $out = '';
        $out .= '' . "\n";
        $out .= '' . "\n";
        $out .= '' . "\n";
        $out .= '' . "\n";
        $out .= '';
        if (self::is_weglot_setup()) {
            $out .= '';
            $out .= '';
        }
        if (!empty($options['ga_tracking_id'])) {
            $out .= "
      ";
        }
        if (!empty($options['custom_css'])) {
            $out .= "\n" . '';
        }
        $out = apply_filters('ucp_head', $out, $options, $template_id);
        return trim($out);
    } // generate_head
    // shortcode for inserting things in footer
    static function generate_footer($options, $template_id)
    {
        $out = '';
        if ($options['linkback'] == '1') {
            $tmp = md5(get_site_url());
            if ($tmp[0] < '4') {
                $out .= 'Create stunning under construction pages for WordPress. Completely free.
'; } elseif ($tmp[0] < '8') { $out .= 'Create a free under construction page for WordPress like this one in under a minute.
'; } elseif ($tmp[0] < 'c') { $out .= 'Join more than 400,000 happy people using the free Under Construction Page plugin for WordPress.
'; } else { $out .= 'Create free under construction pages for WordPress.
'; } } if ($options['login_button'] == '1') { if (is_user_logged_in()) { $out .= '